node {
  name: "Placeholder"
  op: "Placeholder"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "shape"
    value {
      shape {
        unknown_rank: true
      }
    }
  }
}
node {
  name: "Placeholder_1"
  op: "Placeholder"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "shape"
    value {
      shape {
        unknown_rank: true
      }
    }
  }
}
node {
  name: "input0"
  op: "TPUReplicatedInput"
  input: "Placeholder"
  attr {
    key: "N"
    value {
      i: 1
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "input1"
  op: "TPUReplicatedInput"
  input: "Placeholder_1"
  attr {
    key: "N"
    value {
      i: 1
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "cluster/pivot"
  op: "NoOp"
}
node {
  name: "TPUReplicateMetadata"
  op: "TPUReplicateMetadata"
  input: "^cluster/pivot"
  attr {
    key: "_tpu_replicate"
    value {
      s: "cluster"
    }
  }
  attr {
    key: "computation_shape"
    value {
      list {
      }
    }
  }
  attr {
    key: "device_assignment"
    value {
      list {
      }
    }
  }
  attr {
    key: "host_compute_core"
    value {
      list {
      }
    }
  }
  attr {
    key: "num_replicas"
    value {
      i: 1
    }
  }
  attr {
    key: "topology"
    value {
      s: ""
    }
  }
  attr {
    key: "use_tpu"
    value {
      b: true
    }
  }
}
node {
  name: "replicated_input_0"
  op: "Identity"
  input: "input0"
  input: "^TPUReplicateMetadata"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "_tpu_replicate"
    value {
      s: "cluster"
    }
  }
}
node {
  name: "replicated_input_1"
  op: "Identity"
  input: "input1"
  input: "^TPUReplicateMetadata"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "_tpu_replicate"
    value {
      s: "cluster"
    }
  }
}
node {
  name: "Less"
  op: "Less"
  input: "replicated_input_0"
  input: "replicated_input_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "_tpu_replicate"
    value {
      s: "cluster"
    }
  }
}
node {
  name: "cond"
  op: "If"
  input: "Less"
  input: "replicated_input_1"
  input: "replicated_input_0"
  attr {
    key: "Tcond"
    value {
      type: DT_BOOL
    }
  }
  attr {
    key: "Tin"
    value {
      list {
        type: DT_INT32
        type: DT_INT32
      }
    }
  }
  attr {
    key: "Tout"
    value {
      list {
        type: DT_INT32
        type: DT_INT32
      }
    }
  }
  attr {
    key: "_tpu_replicate"
    value {
      s: "cluster"
    }
  }
  attr {
    key: "else_branch"
    value {
      func {
        name: "cond_false"
      }
    }
  }
  attr {
    key: "then_branch"
    value {
      func {
        name: "cond_true"
        attr {
          key: "ping"
          value {
            s: "ack"
          }
        }
        attr {
          key: "how_many"
          value {
            i: 32
          }
        }
      }
    }
  }
  attr {
    key: "output_shapes"
    value {
      list {
        shape {
          unknown_rank: true
        }
        shape {
          unknown_rank: true
        }
      }
    }
  }
}
node {
  name: "NoOp"
  op: "NoOp"
  input: "^cluster/pivot"
  attr {
    key: "_tpu_replicate"
    value {
      s: "cluster"
    }
  }
}
node {
  name: "Identity"
  op: "Identity"
  input: "cond"
  device: "/device:TPU_REPLICATED_CORE:0"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "_tpu_replicate"
    value {
      s: "cluster"
    }
  }
}
node {
  name: "Identity_1"
  op: "Identity"
  input: "cond:1"
  device: "/device:TPU_REPLICATED_CORE:0"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "_tpu_replicate"
    value {
      s: "cluster"
    }
  }
}
node {
  name: "output0"
  op: "TPUReplicatedOutput"
  input: "Identity"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "num_replicas"
    value {
      i: 1
    }
  }
}
node {
  name: "output1"
  op: "TPUReplicatedOutput"
  input: "Identity_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "num_replicas"
    value {
      i: 1
    }
  }
}
node {
  name: "TPUCompilationResult"
  op: "TPUCompilationResult"
  input: "^TPUReplicateMetadata"
  attr {
    key: "_tpu_compilation_status"
    value {
      s: "cluster"
    }
  }
}
node {
  name: "output_0_shard_0"
  op: "Identity"
  input: "output0"
  input: "^NoOp"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "output_1_shard_0"
  op: "Identity"
  input: "output1"
  input: "^NoOp"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "ConfigureDistributedTPU"
  op: "ConfigureDistributedTPU"
  device: "/device:TPU_SYSTEM:0"
  attr {
    key: "embedding_config"
    value {
      s: ""
    }
  }
  attr {
    key: "is_global_init"
    value {
      b: false
    }
  }
  attr {
    key: "tpu_embedding_config"
    value {
      s: ""
    }
  }
}
library {
  function {
    signature {
      name: "cond_true"
      input_arg {
        name: "cond_true"
        type: DT_INT32
        experimental_full_type {
          type_id: TFT_TENSOR
        }
      }
      input_arg {
        name: "cond_true1"
        type: DT_INT32
      }
      output_arg {
        name: "cond_true2"
        type: DT_INT32
        experimental_full_type {
          type_id: TFT_TENSOR
        }
      }
      output_arg {
        name: "cond_true3"
        type: DT_INT32
      }
    }
    node_def {
      name: "Identity"
      op: "Identity"
      input: "cond_true"
      attr {
        key: "T"
        value {
          type: DT_INT32
        }
      }
    }
    node_def {
      name: "Identity_1"
      op: "Identity"
      input: "cond_true1"
      attr {
        key: "T"
        value {
          type: DT_INT32
        }
      }
    }
    ret {
      key: "cond_true2"
      value: "Identity:output:0"
    }
    ret {
      key: "cond_true3"
      value: "Identity_1:output:0"
    }
  }
  function {
    signature {
      name: "cond_false"
      input_arg {
        name: "cond_false"
        type: DT_INT32
        experimental_full_type {
          type_id: TFT_TENSOR
        }
      }
      input_arg {
        name: "cond_false1"
        type: DT_INT32
      }
      output_arg {
        name: "cond_false2"
        type: DT_INT32
        experimental_full_type {
          type_id: TFT_TENSOR
        }
      }
      output_arg {
        name: "cond_false3"
        type: DT_INT32
      }
    }
    node_def {
      name: "IdentityFull"
      op: "Identity"
      input: "cond_false"
      attr {
        key: "T"
        value {
          type: DT_INT32
        }
      }
      experimental_type {
        type_id: TFT_TENSOR
      }
    }
    node_def {
      name: "Identity_1"
      op: "Identity"
      input: "cond_false1"
      attr {
        key: "T"
        value {
          type: DT_INT32
        }
      }
    }
    ret {
      key: "cond_false2"
      value: "Identity_1:output:0"
    }
    ret {
      key: "cond_false3"
      value: "IdentityFull:output:0"
    }
  }
}
versions {
  producer: 27
  min_consumer: 12
}
